struct與class在swift最大的差別是class是reference type,而struct是value type 兩者的差異為,在class中我們指派代理變數給class,這個變數記憶體空間是與class共用的,在struct中我們每次指派代理變數給struct,swift會提供另外一份記憶體空間,這樣雖然在開發時struct比較不會發生重複指派,值被改變的問題,但是在使用時如果宣告多個會造成記憶體的負擔所以在使用上也要小心。
這樣雖然cutemy1指向cutemy2但是因為struct的關西cutemy1與cutemy2的記憶體是分開的所以cutemy1的值會是20,cutemy2的值會是10
如果將struct改成class
因為記憶體指向同一個所以不管怎麼指派只需要改變一個值cutebaby1與cutebaby2都會改變,cutebaby1與cutebaby2值都是20